package org.nanotek.lucene.index.search;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.br.BrazilianAnalyzer;
import org.apache.lucene.analysis.cjk.CJKAnalyzer;
import org.apache.lucene.analysis.core.StopAnalyzer;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.analysis.en.EnglishAnalyzer;
import org.apache.lucene.analysis.pt.PortugueseAnalyzer;
import org.apache.lucene.analysis.standard.ClassicAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;

public enum AnalyzerType { 
	
	STANDARD (StandardAnalyzer.class), 
	PORTUGUESE (PortugueseAnalyzer.class), 
	STOPANALYZER(StopAnalyzer.class),
	WHITESPACE (WhitespaceAnalyzer.class), 
	ENGLISH (EnglishAnalyzer.class),
	BRAZILIAN (BrazilianAnalyzer.class),
	CLASSICAL (ClassicAnalyzer.class), 
	CJK(CJKAnalyzer.class); 
	
	private Class<? extends Analyzer> clazz; 
	
	AnalyzerType (Class<? extends Analyzer> clazz) 
	{ 
		this.clazz = clazz;
	}
	
	public Class<? extends Analyzer> clazz() 
	{ 
		return this.clazz;
	}
}